package com.uzykj.modules.blog.mapper;

import com.uzykj.core.persistence.BaseMapper;
import com.uzykj.core.persistence.annotation.MyBatisMapper;
import com.uzykj.modules.blog.entity.BlogNote;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author ghostxbh
 * @date 2020/7/8
 * 文章MAPPER
 */
@MyBatisMapper
public interface BlogNoteMapper extends BaseMapper<BlogNote> {

    /**
     * 获取文章
     *
     * @param code
     * @return
     */
    BlogNote getByCode(String code);

    /**
     * 模糊编号
     *
     * @param note
     * @return
     */
    List<BlogNote> blurCode(BlogNote note);

    /**
     * 获取文章
     *
     * @param note
     * @return
     */
    List<BlogNote> getByLabel(BlogNote note);

    /**
     * 模糊查看
     *
     * @param note
     * @return
     */
    List<BlogNote> findFuzzyList(BlogNote note);

    /**
     * 获取最大编码
     *
     * @return
     */
    String getMaxCode();

    /**
     * 获取分类列表
     *
     * @param note
     * @return
     */
    List<BlogNote> getByCategory(BlogNote note);

    /**
     * 获取条数
     *
     * @param note
     * @return
     */
    long count(BlogNote note);

    /**
     * 删除类别与文章权限关系
     *
     * @param note
     * @return
     */
    public int deleteNoteCategory(BlogNote note);

    /**
     * 添加类别与文章权限关系
     *
     * @param note
     * @return
     */
    public int insertNoteCategory(BlogNote note);

    /**
     * 查询旅行家
     *
     * @return
     */
    List<String> findTopAnthor(int size);

    void updateRead(@Param("id") String id, @Param("readCount") int readCount);

    void updateLike(String id);
}